package com.newshub.business.service;

import com.newshub.business.dto.PageResult;
import com.newshub.business.dto.RegionQueryDTO;
import com.newshub.business.entity.Region;

import java.util.List;

/**
 * 区域服务接口
 */
public interface RegionService {
    
    /**
     * 获取所有区域
     */
    List<Region> getAllRegions();
    
    /**
     * 根据ID获取区域
     */
    Region getRegionById(Integer id);
    
    /**
     * 根据名称获取区域
     */
    Region getRegionByName(String name);
    
    /**
     * 根据代码获取区域
     */
    Region getRegionByCode(String code);
    
    /**
     * 添加区域
     */
    boolean addRegion(Region region);
    
    /**
     * 更新区域
     */
    boolean updateRegion(Region region);
    
    /**
     * 删除区域
     */
    boolean deleteRegion(Integer id);
    
    /**
     * 分页查询区域
     */
    PageResult<Region> getRegionPage(RegionQueryDTO queryDTO);
    
    /**
     * 更新区域状态
     */
    boolean updateRegionStatus(Integer id, Integer status);
    
    /**
     * 批量删除区域
     */
    boolean batchDeleteRegions(List<Integer> ids);
}
